/**
 * 提示方法
 * @param {String} title 提示文字
 * @param {String}  icon icon图片
 * @param {Number}  duration 提示时间
 */
export function toast(title, icon = 'none', duration = 1500) {
	if(title) {
		uni.showToast({
		    title,
		    icon,
		    duration
		})
	}
}
/**
 * 设置缓存
 * @param {String} key 键名
 * @param {String} data 值
 */
export function setStorageSync(key, data) {
    uni.setStorageSync(key, data)
}
/**
 * 获取缓存
 * @param {String} key 键名
 */
export function getStorageSync(key) {
    return uni.getStorageSync(key)
}
/**
 * 删除缓存
 * @param {String} key 键名
 */
export function removeStorageSync(key) {
    return uni.removeStorageSync(key)
}
/**
 * 清空缓存
 * @param {String} key 键名
 */
export function clearStorageSync() {
    return uni.clearStorageSync()
}

export function hidePhoneNumber(phoneNumber) {
  return phoneNumber.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
}
export function hideBankCode(num) {
  return num.replace(/(\d{4})\d+(?=\d{4})/, '$1****');
}

export function getLang(lang) {
	// console.log('lang',lang);
  switch (lang){
  	case 'zh-Hans':
		return '简体中文'
  		break;
	case 'zh-Hant':
		return '繁体中文'
		break;
	case 'en':
		return 'English'
		break;
	case 'Japanese':
		return '日本語'
		break;
	case 'Thai':
		return 'ภาษาไทย'
		break;
	case 'Vietnamese':
		return 'Tiếng Việt'
		break;
	case 'Indonesian':
		return 'Indonesia'
		break;
	case 'Korean':
		return '한국어'
		break;
	case 'French':
		return 'Français'
		break;
	case 'German':
		return 'Deutsch'
		break;
  	default:
  		break;
  }
}
/**
 * 1.大于或等于 1,000,000 (M)：
	除以 1,000,000，保留两位小数，后面加 M。
   2.大于或等于 1,000 (K)：
	除以 1,000，保留两位小数，后面加 K。
   3.小于 1,000：
	保留原始数值，格式化为两位小数。
*/
export function formatAmount(amount) {
  if (amount >= 1000000) {
    return (amount / 1000000).toFixed(2) + 'M';
  } else if (amount >= 1000) {
    return (amount / 1000).toFixed(2) + 'K';
  } else {
    return amount.toFixed(2); // 小于 1000 时，保留两位小数
  }
}

// 1 格式化时间
export const formatTime = (timestamp, type = "common") => {
  // 使用 Date 对象将时间戳转换为日期和时间
  const date = new Date(timestamp);

  // 使用 Date 对象的方法提取年、月、日、小时、分钟和秒
  const year = date.getFullYear();
  const month = (date.getMonth() + 1).toString().padStart(2,'0'); // 月份是从 0 开始的，所以需要加 1
  const day = date.getDate().toString().padStart(2,'0');
  const hours = date.getHours().toString().padStart(2,'0')
  const minutes = date.getMinutes().toString().padStart(2,'0')
  const seconds = date.getSeconds().toString().padStart(2,'0')

  // 构建日期和时间格式
  switch (type) {
    case "common":
      return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
    case "y/m/d":
      return `${year}/${month}/${day}`;
    case "y-m-d":
      return `${year}-${month}-${day}`;
	case "hms":
	  return `${hours}:${minutes}:${seconds}`;
	case "y-m-d h:m":
		return `${year}-${month}-${day} ${hours}:${minutes}`;
  }
}
export function maskID(idNumber) {
  if (!idNumber || idNumber.length < 8) {
    // 如果身份证号码长度不足8位，直接返回原值或者处理
    return idNumber;
  }

  // const firstPart = idNumber.slice(0, 4); // 前4位
  // const lastPart = idNumber.slice(-4);    // 后4位
  const firstPart = idNumber.slice(0, 2); // 前2位
  const lastPart = idNumber.slice(-2);    // 后2位
  const middleLength = idNumber.length - 8;

  // 用星号隐藏中间部分
  const maskedMiddle = '*'.repeat(middleLength);

  return firstPart + maskedMiddle + lastPart;
}

// 示例
// const id = "123456789012345678";
// const result = maskID(id);
// console.log(result); // 输出: 1234**********5678